﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using GestionLinqLibData;
using IRepositories;

namespace LinqRepositories
{
    public class LinqMatiereRepository : IMatiereRepository
    {

        private GestionDataClassesDataContext db = new GestionDataClassesDataContext();
        #region IMatiereRepository Membres

        public matiere CreateMatiere(matiere matiereToCreate)
        {
            db.matiere.InsertOnSubmit(matiereToCreate);
            db.SubmitChanges();

            return matiereToCreate;
        }

        public IEnumerable<matiere> ListMatieres()
        {
            return db.matiere;
        }

        public matiere GetMatiere(int id_mat)
        {
            return db.matiere.Where(m => m.id_matiere == id_mat).FirstOrDefault();
        }

        public matiere EditMatiere(matiere matiereToEdit)
        {
            var originalMatiere = GetMatiere(matiereToEdit.id_matiere);

            originalMatiere.nom_matiere = matiereToEdit.nom_matiere;

            db.SubmitChanges();
            return matiereToEdit;
        }

        public void DeleteMatiere(matiere matiereToDelete)
        {
            db.matiere.DeleteOnSubmit(GetMatiere(matiereToDelete.id_matiere));
            db.SubmitChanges();
        }

        #endregion
    }
}